package com.cn.delan.jdbc;
/**
 * 翻页工具类,该类通过页号、页长度、记录数计算对应页面的记录起始和结束编号。
 * @author BingGo
 * @version 1.0
 */
public class Page {
	/**
	 * 当前页码
	 */
	private int pageNo;
	/**
	 * 一页所存放的最大记录数
	 */
	private int pageCount;
	/**
	 * 记录总数
	 */
	private int total;
	/**
	 * 总页数
	 */
	private int pageTotal;
	/**
	 * 起始编号，即从第几条起
	 */
	private int startNo;
	/**
	 * 结束编号，即到第几条结束
	 */
	private int endNo;
	/**
	 * 实例化翻页工具类,默认编号从0开始。
	 * @param pageNo 页码
	 * @param pageCount 页长度
	 * @param total 记录总数
	 */
	public Page(int pageNo,int pageCount,int total){
		this.pageNo = pageNo;
		this.pageCount = pageCount;
		this.total = total;
		this.pageTotal = total/pageCount;
		if(total%pageCount!=0){
			this.pageTotal++;
		}
		if(this.pageNo<1){
			this.pageNo = 1;
		}
		if(this.pageNo>this.pageTotal){
			this.pageNo = this.pageTotal;
		}
		this.startNo = (pageNo-1)*pageCount;
		this.endNo = pageNo*this.pageCount-1;
	}
	public int getPageNo() {
		return pageNo;
	}
	public int getPageCount() {
		return pageCount;
	}
	public int getTotal() {
		return total;
	}
	public int getPageTotal() {
		return pageTotal;
	}
	public int getStartNo() {
		return startNo;
	}
	public void setStartNo(int startNo) {
		this.startNo = startNo;
	}
	public int getEndNo() {
		return endNo;
	}
	public void setEndNo(int endNo) {
		this.endNo = endNo;
	}
}